package cn.ffcs.bpmpvc.services;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import cn.ffcs.bpmpvc.dao.MeetingProtocolDao;
import cn.ffcs.bpmpvc.svc.ProcessPvcService;
import cn.ffcs.bpmpvc.svc.TaskAssignBean;
import cn.ffcs.bpmpvc.svc.TaskService;
import cn.ffcs.common.dao.AttachDAO;
import cn.ffcs.common.model.Attach;
import cn.ffcs.organ.model.Person;
import cn.ffcs.share.dao.ShareReferenceDAO;
import cn.ffcs.share.model.ShareReference;

public interface MeetingProtocolService {
	public AttachDAO<Attach> getAttachDAO();
	public ShareReferenceDAO<ShareReference> getShareReferenceDAO();
	public AppBusinessReqService getAppBusinessReqService();
	public ProcessPvcService getProcessPvcService();
	public TaskService getTaskService();
	public String getProcessId();
	public MeetingProtocolDao getMeetingProtocolDao();
	public void saveAndStartFlow(String processConfigId, Person startPerson,List<TaskAssignBean> nextTasksList, boolean isCommit,ShareReference shareReference,HttpServletRequest request) throws Exception;
	public void commitApplyTask(String flowTaskId,String content,String procinstId,List<TaskAssignBean> nextTasksList, boolean isCommit,ShareReference shareReference,HttpServletRequest request) throws Exception;
	public void commitEndProcess(String procinstId);
}
